.section .rodata, "a", "progbits"	
	.align 4	
	.section .text, "ax", "progbits"	
	.align 4	
	.section .rodata	
	.align 4	
$data_tab: 	
	.dword 0x3ff0000000000000	
	.dword 0x0000000000000000	
	.dword 0xc00fa3c4ec98f3cd	
	.dword 0x3f8cce2f3810ace9	
	.dword 0x402196edb037ffa0	
	.dword 0xbfc85e9dc4f387a6	
	.dword 0xc02a0b85ae7a02bd	
	.dword 0xc020ed35c23a3b85	
	.dword 0x4029d89a7264fecc	
	.dword 0x400e1506881b89ed	
	.dword 0x3ff2394e7b6b49c4	
	.dword 0x3fe8e38e38e38e39	
	.dword 0x3fc2492492492492	
	.dword 0x3fe6db6db6db6db7	
	.dword 0x3ff0000000000000	
	.dword 0x3ff428a2f98d728b	
	.dword 0x3ff965fea53d6e3d	
	.dword 0x2000000000000000	
	.dword 0x3deae515c4400000	
	.dword 0x3dfd6e3c82b00000	
	.section .text	
	.align 4	
	.globl _rv_cbrt	
_rv_cbrt: 	
	lui a0,%hi($data_tab)	
	addi a0,a0,%lo($data_tab)
	fmv.x.d t4,fa0	
	fld fa7,0(a0)	
	li t2,0x1	
	slli t3,t2,0x34	
	li t5,1023	
	slli t5,t5,0x35	
	xor t6,t3,t5	
	add a7,t4,t3	
	slli t1,t2,0x3f	
	and t3,a7,t5	
	fmv.x.d a1,fa7
	li a4,0xFFF0000000000000
	and a1,a1,a4
	li a5,0x000FFFFFFFFFFFFF
	fmv.x.d a6,fa0
	and a4,a6,a5
	or a1,a1,a4
	fmv.d.x fs1,a1
	and t1,t4,t1	
	bnez t3,label_3	
	and a7,t4,t6	
	xor a7,a7,t6	
	bnez a7,label_1	
	fmv.d fa7,fa0	
	fmv.d fa0,fa7	
	ret
	.align 4	
label_1: 	
	fsub.d fs2,fs1,fa7	
	fmv.x.d a2,fs2	
	and t6,a2,t6	
	bnez t6,label_2	
	fmv.d fa7,fa0	
	fmv.d fa0,fa7	
	ret
	.align 4	
label_2: 	
	li a3,511	
	add t4,t4,t6	
	fmv.x.d a1,fa7
	li a4,0xFFF0000000000000
	and a1,a1,a4
	li a5,0x000FFFFFFFFFFFFF
	fmv.x.d a6,fs2
	and a4,a6,a5
	or a1,a1,a4
	fmv.d.x fs1,a1
	slli a3,a3,0x35	
	sub t4,t4,a3	
	.align 4	
label_3: 	
	addi a5,a0,16
	vsetvli a1,a6,e64,m1
	vle64.v v12,(a5)
	addi a5,a0,32
	vle64.v v17,(a5)
	li a4,2730	
	sub t4,t4,t1	
	addi a5,a0,48
	vle64.v v15,(a5)
	addi a5,a0,64
	vle64.v v22,(a5)
	li t5,-1	
	srai t4,t4,0x34	
	vfmv.v.f v10,fs1	
	fmul.d fs5,fs1,fs1	
	fld fa2,80(a0)	
	slli t5,t5,0x29	
	addi t4,t4,54	
	mul a4,t4,a4	
	fld ft11,88(a0)	
	fld fa6,96(a0)	
	fld fs7,104(a0)	
	fsgnj.d ft9,fs5,fs5	
	vfmadd.vv v12,v10,v17
	vfmadd.vv v15,v10,v22
	fmul.d fa4,fs5,fs1	
	vslidedown.vi v1,v12,1	
	vfmv.f.s fs4,v1
	vfmv.s.f v13,fs4	
	vfmv.v.f v13,fs4	
	vfmv.f.s fs3,v12
	fmadd.d fs3,fs5,fa2,fs3	
	fmul.d fs5,fs5,fs5	
	vslidedown.vi v2,v15,1	
	vfmv.f.s fa5,v2
	vfmv.s.f v21,fa5	
	vfmv.v.f v21,fa5	
	add a4,t4,a4	
	srli a4,a4,0xd	
	vfmv.f.s fs6,v15
	fmadd.d fs6,ft9,fs6,fa5	
	fmadd.d fs3,fa4,fs4,fs3	
	slli a1,a4,0x2
	sub a5,a1,a4
	sub t4,t4,a5	
	fmul.d fs7,fs1,fs7	
	fmadd.d fs3,fs5,fs3,fs6	
	slli a1,t4,0x3
	add a0,a1,a0
	ld s11,112(a0)	
	ld s10,136(a0)	
	addi a4,a4,-359	
	slli a4,a4,0x34	
	add t1,t1,a4	
	fmul.d ft10,fs1,fs3	
	add s11,s11,t1	
	add t1,s10,t1	
	fmv.d.x fs2,s11	
	fmv.d.x fa1,t1	
	fmul.d fs3,fs3,fs3	
	fmul.d ft11,fs3,ft11	
	fmul.d fs3,fs3,fs7	
	fmv.x.d s7,ft10	
	li a1,0xFFFFFFFF00000000
	and s7,s7,a1
	and t5,s7,t5	
	fmv.d.x fs8,s7	
	fmv.d.x ft0,t5	
	fmul.d fa4,ft10,ft11	
	fmul.d fa4,fs2,fa4	
	fsub.d fs2,fs2,fa1	
	fmul.d fs9,fs8,fs8	
	fmadd.d fa6,fa6,ft10,fs8	
	fsub.d fa0,fs8,ft0	
	fmul.d fa3,fs8,fa1	
	fneg.d fs3,fs3	
	fmadd.d fs3,fs3,fs9,fa6
	fneg.d fs9,fs9	
	fmadd.d ft0,fs9,ft0,fs1
	fneg.d fs9,fs9
	fmul.d fs3,fa4,fs3	
	fneg.d fs9,fs9	
	fmadd.d ft0,fs9,fa0,ft0
	fneg.d fs9,fs9
	fmadd.d ft0,fs3,ft0,fa3	
	fmadd.d fa7,fs8,fs2,ft0	
	fmv.d fa0,fa7	
	ret
